<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="string" uri="http://jakarta.apache.org/taglibs/string-1.1" %>
<%@ taglib uri="/WEB-INF/tlds/pagination.tld" prefix="pagination" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Bettersoft Portal</title>
    <link href="/common/css/common.css" rel="stylesheet" type="text/css" />


    <script type="text/javascript" src="/common/js/common.js"></script>
    <script type='text/javascript' src="/common/dwr/engine.js"></script>
    <script type='text/javascript' src="/common/dwr/util.js"></script>
    <script type='text/javascript' src='/dwr/interface/BettersoftPortalService.js'></script>

    <script type="text/javascript">
        // Locale 설정을 바꾼다.
        function jsChangeLocale(lan) {
            var TheForm = document.menuFrm;
            TheForm.nextTarget.value = "intro";
            TheForm.action = "${pageContext.request.contextPath}/changeLocale.do?language=" + lan;
            TheForm.submit();
        }


        // frm 의 첨부파일 버튼 초기화
        function jsFileReset() {
            var obj = eval("frm.PROFILE_IMAGE");
            var obj2 = obj.cloneNode(false);
            obj.parentNode.replaceChild(obj2, obj);
            // obj 에 원래 file 필드를 가져와서 clone 노드 obj2 와 바꿔치기
        }

        // 그림파일인지 검사
        function jsFileType(){
            if( !event.srcElement.value.match(/(.jpg|.jpeg|.gif|.png|.JPG|.GIF|.PNG)/)) {
                alert('그림형식의 파일이 아닙니다.(jpg, gif, png 형식의 파일 업로드 가능)');
                jsFileReset();
            }
        }

        // 회원가입을 실시
        function jsInsertMember(){

            var TheForm = document.frm;

            // ID 미입력
            if(trim(TheForm.BETTERSOFT_ID.value) == "") {
                alert("아이디를 입력하세요");
                TheForm.BETTERSOFT_ID.value = "";
                TheForm.PASSWORD.value = "";
                TheForm.PASSWORD_RE.value = "";
                TheForm.BETTERSOFT_ID.focus();

                // 비밀번호 미입력
            } else if(trim(TheForm.PASSWORD.value) == "") {
                alert("비밀번호를 입력하세요");
                TheForm.PASSWORD.value = "";
                TheForm.PASSWORD_RE.value = "";
                TheForm.PASSWORD.focus();

                // 비밀번호와 비밀번호 확인이 불일치
            } else if(TheForm.PASSWORD.value != TheForm.PASSWORD_RE.value){
                alert('비밀번호와 비밀번호 확인이 일치하지 않습니다.');
                TheForm.PASSWORD.value = "";
                TheForm.PASSWORD_RE.value = "";
                TheForm.PASSWORD.focus();

                // 비밀번호 유효성 검사
            }else if(checkPassword(TheForm.BETTERSOFT_ID.value, TheForm.PASSWORD.value) == false){
                TheForm.PASSWORD.value = '';
                TheForm.PASSWORD_RE.value = '';
                TheForm.PASSWORD.focus();


                // 이메일 유효성 검사
            }else if(TheForm.EMAIL.value.search(/(\S+)@(\S+)\.(\S+)/) == -1) {
                alert("이메일 형식이 잘못되었습니다.");
                TheForm.EMAIL.value = '';
                TheForm.EMAIL.focus();

                // 연락처 미입력
            }else if(trim(TheForm.PHONE.value) == ""){
                alert('연락처를 입력하세요');
                TheForm.PHONE.focus();

                // 연락처 공백 검사
            }else if(checkSpace(TheForm.PHONE.value) == 1){
                alert('연락처에 공백이 들어갈 수 없습니다.');
                TheForm.PHONE.value = '';
                TheForm.PHONE.focus();

                // 이름 미입력
            }else if(trim(TheForm.NAME.value) == ""){
                alert('이름을 입력하세요');
                TheForm.NAME.focus();

            }else {
                dwr.engine.setAsync(false);

                alert('회원가입에 성공하였습니다.');

                // 브라우저에서 비밀번호 암호화
                BettersoftPortalService.passwordEncoding(TheForm.PASSWORD.value, function(result) {
                    TheForm.PASSWORD.value = result;


                });

                TheForm.nextTarget.value = "portalIndex";
                TheForm.action = "insertMember.do";
                TheForm.submit();

                dwr.engine.setAsync(true);


            }
        }

        // 비밀번호 유효성 검사, 숫자와 영문의 혼합 8~20자 ID포함 금지 연속된 4자리수 입력 금지
        function checkPassword(uid, upw)
        {
            if(!/^[a-zA-Z0-9]{8,20}$/.test(upw))
            {
                alert('8~20 자리의 숫와 영문 혼용만 사용할 수 있습니다.');
                return false;
            }

            var chk_num = upw.search(/[0-9]/g);
            var chk_eng = upw.search(/[a-z]/ig);
            if(chk_num < 0 || chk_eng < 0)
            {
                alert('숫자와 알파벳을 혼용하셔야 합니다.');
                return false;
            }

            if(/(\w)\1\1\1/.test(upw))
            {
                alert('같은 문자를 4번 연속 사용할 수 없습니다.');
                return false;
            }
            if(upw.search(uid)>-1)
            {
                alert('비밀번호에 ID가 포함될 수 없습니다.');
                return false;
            }

            return true;
        }

        // 띄어쓰기 체크
        function checkSpace(str)
        {
            if(str.search(/\s/) != -1){
                return 1;
            }
            else {
                return "";
            }
        }


    </script>
</head>
<body>

<form name="frm" method="POST" enctype="multipart/form-data" onkeypress="if(event.keyCode == 13) {return false;}" >
    <input type="hidden" id="nextTarget"    name="nextTarget"   value="">
    <div id="intro" style="height: 100%">
        <br/><br/><br/><br/><br/><br/><br/><br/><br/>
        <div id="login">
            <p align="center"><label for="BETTERSOFT_ID">아&nbsp;&nbsp;이&nbsp;&nbsp;디</label><input type="text" name="BETTERSOFT_ID" id="BETTERSOFT_ID"  /></p>
            <p align="center"><label for="PASSWORD">패스워드</label><input type="password" name="PASSWORD" id="PASSWORD" /></p>
            <p align="center"><label for="PASSWORD_RE">패스워드</label><input type="password" name="PASSWORD_RE" id="PASSWORD_RE" /></p>
            <p align="center"><label for="EMAIL">이메일</label><input type="text" name="EMAIL" id="EMAIL" /></p>
            <p align="center"><label for="NAME">이름</label><input type="text" name="NAME" id="NAME" /></p>
            <p align="center"><label for="PHONE">전화번호</label><input type="text" name="PHONE" id="PHONE" /></p>
            <p align="center">
                <label for="RANK">직급</label>
                <select size="1" name="RANK" id="RANK">
                    <option value="1" selected>사원</option>
                    <option value="2">주임</option>
                    <option value="3">대리</option>
                    <option value="4">과장</option>
                    <option value="5">차장</option>
                    <option value="6">부장</option>
                    <option value="7">이사</option>
                    <option value="8">대표</option>
                </select>
            </p>
            <p align="center"><label for="PROFILE_IMAGE">사진</label>
                <input type="file" name="PROFILE_IMAGE" id="PROFILE_IMAGE" onchange="jsFileType()"  /><a href="javascript:jsFileReset()">삭제</a>
            </p>
        </div>
        <div class="int_btn" align="center">
            <a href="javascript:jsInsertMember()" id="login_btn" class="btn btn_nr" style="color: #888888;"><b>확인</b></a>
            &nbsp;&nbsp;
            <a href="portalLogin.do" id="register_btn" class="btn btn_nr" style="color: #888888;"><b>취소</b></a>
        </div>

    </div>
</form>
</body>
</html>